#ifndef INELEMENT_H
#define INELEMENT_H

#include "signalgenerator.h"
#include "configuredelement.h"

#include <QObject>

//Простой генератор (Тактовый)
class InElement : public ConfiguredElement, public ISignalGenerator
{
    Q_OBJECT

private:
    SignalContainer signalsContainer;

public:
    InElement();

    //Сгенерировать сигнал
    void generateSignal(uint time, uint tact);

    //Редактируемый
    bool getEditable();

    //Получить коллекцию сигналов
    SignalContainer& getSignalCollection();

    //Загрузить дополнительную секцию из файла схемы
    void initData(const QDomNode &additionals);

    //Сохранить настройки в файл схемы
    void saveData(QDomNode &additionals);
};

#endif // INELEMENT_H
